/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Binding;


import javax.swing.JComponent;
import logging.Logger;
/**
 *Prüft ob der Inhalt ein Integer ist und ob der Inhalt grösser ist als der Geforderte
 * @author benji
 */
public class GreaterThenRule extends Rule {
    private static int checkVal;

    /**
     * Konstruktor
     * setzt auch den mindestwert
     * welcher nicht unterschritten werden darf
     * @param i
     */
    public GreaterThenRule(int i){
        Logger.info("Rule - setMinValue to " + i);
        setCheckVal(i);
    }

    public void setCheckVal(int value){
        Logger.info("Rule - checkMinVal");
        checkVal = value;
    }

    /**
     * Ausführen der Regel
     * und überprüfen des Inhalts
     * @param component von welchen Component wird geholt
     * @param value zu überprüfender wert
     * @param binder 
     * @return
     */
    @Override
    public boolean Evaluate(JComponent component, Object value, Binder binder){
        Logger.info("Rule - Evaluate");
        if((Integer)value < checkVal){
            binder.addErrors(component.getName() + " muss groesser/gleich sein als " + checkVal);
            return false;
        }
        return true;
    }


}
